home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group93c.txt
/
000124_icon-group-sender _Tue Dec 7 01:15:55 1993.msg
< prev
next >
Wrap
Internet Message Format
|
1994-02-02
|
3KB
Received: by cheltenham.cs.arizona.edu; Thu, 16 Dec 1993 08:34:12 MST
Date: 7 Dec 93 01:15:55 GMT
From: uchinews!quads!goer@migs.ucar.edu (Richard L. Goerwitz)
Organization: University of Chicago
Subject: Re: Capsule summary of the ICON language wanted
Message-Id: <1993Dec7.011555.14868@midway.uchicago.edu>
References: <rfgCHMvzq.HCJ@netcom.com>
Sender: icon-group-request@cs.arizona.edu
To: icon-group@cs.arizona.edu
Status: R
Errors-To: icon-group-errors@cs.arizona.edu
Here's the blurb I usually send people. It's not an official
description, and probably reflects my own idiosyncratic view-
point:
Icon (1976) represents a combination of Prolog-like evaluation
mechanisms with an Algol-based syntax and SNOBOL-derived string
processing facilities. Icon offers automatic storage allocation and
garbage collection, as well as built in associative arrays, lists,
"real" strings (i.e. not just char arrays), and a data type resembling
mathematical sets. Icon is a strongly, though not statically, typed
language offering transparent automatic type conversions (i.e. 10,
depending on its context, may be converted to "10", etc.) and an
elegant string processing mechanism known as "scanning."
Central to Icon is the concept of the generator, i.e. the
inherent capacity on the part of expressions to produce multiple
results. Central also is the notion of goal-directed evaluation - a
form of backtracking in which the components of an expression are
resumed until some result is achieved, or else the expression as a
whole fails. Icon was originally designed by Ralph Griswold, Dave
Hanson, and Tim Korb. It was first implemented in C by Steve Wampler.
Definitive references: Ralph E. and Madge T. Griswold, _The Icon
Programming Language_ (2nd ed.; Prentice Hall, 1989); _The
Implementation of the Icon Programming Language_ (Princeton Univ. Pr.,
1986).
Icon is at its best when used as a prototyping tool, for
processing text, for performing various mappings and conversions, and
as a general tool for solving problems that tend to require heuristic
mechanisms, rather than purely algorithmic ones. In general, Icon's
design assigns a higher priority to consistency and lucidity than to
functionality within one or another operating environment. For this
reason, it is not a good UNIX system administration tool. Nor is it
particularly fast. It is a clean, portable system implemented under
VMS, MVS, SYSV, Mach, BSD, Ultrix, HP/UX, AI/X, AU/X, and many other
operating systems, as well as for various micros, such as the Atari,
Mac, and PC. Icon is a good language choice for theorists exploring
language design, for scholars in the humanities, and generally for
people interested in nonnumeric computing.
--
-Richard L. Goerwitz goer%midway@uchicago.bitnet
goer@midway.uchicago.edu rutgers!oddjob!ellis!goer